package com.openbravo.data.user;

import com.openbravo.data.basic.BasicException;

import java.util.List;

public interface I_BrowsableData<T> {
    int ST_NORECORD = 0;

    void addBrowseListener(BrowseListener l);

    boolean canLoadData();

    void loadData() throws BasicException;

    void loadData(List<T> datas) throws BasicException;

    void moveFirst() throws BasicException;

    void moveLast() throws BasicException;

    void moveNext() throws BasicException;

    void movePrev() throws BasicException;

    void moveTo(int i) throws BasicException;

    void refreshCurrent();

    void refreshData() throws BasicException;

    T getCurrentElement();

    int getIndex();

    int findNext(Finder f) throws BasicException;
}
